package com.zy.explore.web.security;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationPropertiesScan;
import org.springframework.validation.annotation.Validated;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import java.util.ArrayList;
import java.util.List;

/**
 * description
 *
 * @author administrator
 * @date 2021-05-05 18:21
 */
@Data
@Validated
@ConfigurationPropertiesScan(AuthProperties.PREFIX)
public class AuthProperties {

    static final String PREFIX = "common.auth";

    /**
     * 可以不需要鉴权的接口路径，可以使用/path/to/**通配符
     */
    @Valid
    private final List<@NotBlank String> excludePath = new ArrayList<>();

    /**
     * 静态资源接口，这类接口完全不会经过安全过滤链，可以使用/path/to/**通配符
     */
    @Valid
    private final List<@NotBlank String> resourcePath = new ArrayList<>();

    /**
     * 角色
     */
    @NotBlank
    private String role = "";
}
